`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date: 2023/11/08 15:56:04
// Design Name: 
// Module Name: clk_manage
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//////////////////////////////////////////////////////////////////////////////////


module clk_manage#(
    parameter   SYSTEM_CLK          =   50_000_000,// 系统时钟
    parameter   UART_BAUDRATE       =   9600       // 波特率
)(
    input   i_clk       ,

    output  o_clk_50MHz ,
    output  o_rx_clk    ,
    output  o_tx_clk    

    );

/*********parameter**********/
localparam CLK_DIV_UART = SYSTEM_CLK / UART_BAUDRATE;
/*********wire***************/

/*********reg****************/

/*********code*************/

clk_pll_50 u_clk_pll_50
(    
    // Clock in ports
    .clk_in1    (i_clk      ) ,       // input clk_in1
    // Status and control signals
    .locked     (locked     ) ,       // output locked
    // Clock out ports
    .clk_out1   (o_clk_50MHz)         // output clk_out1
    );      

clk_div_module #(
    .CLK_DIV_NUM ( CLK_DIV_UART ))
 u_clk_div_module (
    .i_clk                   ( i_clk   ),
    .i_rst                   ( ~locked   ),

    .o_clk                   ( o_clk   )
);
endmodule
